<?php

if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
	exit('Access Denied');
}

$sql = <<<EOF

DROP TABLE IF EXISTS `pre_er_kami_apibuy`;
create table pre_er_kami_apibuy
(
    id          int auto_increment
        primary key,
    uid         int                default 0                    null comment '为0时表示还未被购买',
    `desc`      varchar(255)                                    null comment '描述',
    status      tinyint(3)         default 1                    null comment '1未兑换、2已兑换',
    kami_key    varchar(255)                                    null comment '卡密',
    kami_type   int                default 0                    null comment '卡密分类id',
    extcredits  int                default 0                    null comment '订单记录：积分分类，不会随卡密分类变化',
    credit      int                default 0                    null comment '订单记录：消耗积分值记录，不会随卡密分类变化',
    use_info    varchar(255)                                    null comment '使用信息',
    create_time int                null comment '创建时间',
    update_time int                null comment '更新时间',
    expire_time int                null comment '过期时间，空或0表示永不过期',
    use_time    int                null comment '购买时间',
    constraint pre_er_kami_apibuy_pk
        unique (kami_key)
)
    engine = InnoDB;

DROP TABLE IF EXISTS `pre_er_kami_apibuy_type`;
create table pre_er_kami_apibuy_type
(
    id     int auto_increment
        primary key,
    group_id int default 0 null comment '分类分组id',
    name   varchar(50)  null,
    `desc` varchar(255) null,
    extcredits  tinyint(3)         default 2                    null comment '能用于兑换的积分类型',
    credit      int                default 0                    null comment '需消耗积分值',
    status      tinyint(3)         default 1                    null comment '1正常、2禁用',
    sort        int                default 0                    null comment '排序',
    image       varchar(255)                                    null,
    is_api      tinyint(3)         default 2                    null comment '是否为api购买，1是、2否',
    configapi_id int               default 0                    null comment '当is_api为1时填入，pre_er_kami_apibuy_configapi配置api的id',
    api_type_id      int           default 0                    null comment 'api对应的商品id，即卡密类型的id',
    create_time int                null comment '创建时间',
    update_time int                null comment '更新时间'
)
    engine = InnoDB;

DROP TABLE IF EXISTS `pre_er_kami_apibuy_typegroup`;
create table pre_er_kami_apibuy_typegroup
(
    id     int auto_increment
        primary key,
    name   varchar(50)  null,
    `desc` varchar(255) null,
    status      tinyint(3)         default 1                    null comment '1正常、2禁用',
    sort        int                default 0                    null comment '排序',
    create_time int                null comment '创建时间',
    update_time int                null comment '更新时间'
)
    engine = InnoDB;

DROP TABLE IF EXISTS `pre_er_kami_apibuy_configapi`;
create table pre_er_kami_apibuy_configapi
(
    id     int auto_increment
        primary key,
    name   varchar(50)  null,
    url   varchar(255)  null,
    private_key   text  null,
    `desc` varchar(255) null,
    status      tinyint(3)         default 1                    null comment '1正常、2禁用',
    sort        int                default 0                    null comment '排序',
    create_time int                null comment '创建时间',
    update_time int                null comment '更新时间'
)
    engine = InnoDB;

DROP TABLE IF EXISTS `pre_er_kami_apibuy_log`;
create table pre_er_kami_apibuy_log
(
    id          int auto_increment
        primary key,
    uid         int                default 0                    null comment '用户id',
    title       varchar(255)                                    null comment '',
    `desc`      varchar(255)                                    null comment '描述',
    kami_key    varchar(255)                                    null comment '卡密',
    order_no    varchar(255)                                    null comment '第三方订单号',
    extcredits  int                default 0                    null comment '积分分类',
    credit      int                default 0                    null comment '消耗积分值',
    is_api      tinyint(3)         default 2                    null comment '是否为api购买，1是、2否',
    api_domain  varchar(255)                                    null comment 'api域名',
    create_time int                null comment '创建时间',
    update_time int                null comment '更新时间',
    expire_time int                null comment '过期时间，空或0表示永不过期'
)
    engine = InnoDB;

DROP TABLE IF EXISTS pre_er_kami_apibuy_config;
create table pre_er_kami_apibuy_config
(
    id     int auto_increment
        primary key,
    `key`  varchar(50)  null,
    name   varchar(50)  null,
    value  text         null,
    `desc` varchar(255) null,
    constraint pre_er_kami_apibuy_config_pk
        unique (`key`)
)
    engine = InnoDB;

EOF;

runquery($sql);

$insert_sql = <<<EOF

INSERT INTO pre_er_kami_apibuy_config (`key`, name, value, `desc`) 
VALUES 
('allowed_groups', '允许兑换的用户组', 'a:9:{i:0;s:1:"9";i:1;s:2:"10";i:2;s:2:"11";i:3;s:2:"12";i:4;s:2:"13";i:5;s:2:"14";i:6;s:2:"15";i:7;s:1:"1";i:8;s:1:"7";}', '按住 ctrl 多选'),
('recharge_url', '用户充值积分地址', 'home.php?mod=spacecp&ac=credit&op=buy', '默认使用home.php?mod=spacecp&ac=credit&op=buy'),
('nav_name','显示兑换按钮导航的名称','积分购买卡密',''),
('nav_position','显示兑换按钮导航位置','global_usernav_extra3','global_usernav_extra3用户导航栏、global_cpnav_extra1左上顶部、global_nav_extra主导航栏'),
('precautions','注意事项','1、因虚拟商品特殊性，卡密一旦兑换成功概不退换；2、如有问题联系客服QQ：123456',''),
('kami_expire_time', '默认填入过期时间', '', '默认过期时间，用于生成卡密时自动填充。空或0表示不过期'),
('kami_length', '默认填入长度', '15', '默认长度，用于生成卡密时自动填充,最小值不建议小于12'),
('kami_char_type', '默认填入字符类型包含', '["1","1","1","1"]', '默认字符类型，包含数字、小写字母、大写字母、特殊字符'),
('kami_format', '默认填入格式模板', '', '当该值不为空时，默认长度使用这个；例如：XXXX-XXXX-XXXX；X代表随机字符，其他字符保持不变；'),
('kami_exclude_similar', '默认填入排除相似字符', '0O1Il', ''),
('kami_prefix', '默认填入添加前缀', '', '');

INSERT INTO pre_er_kami_apibuy_type (name, extcredits, credit, image)
VALUES
('测试1', 2, 10, ''),
('测试2', 1, 1, '');

EOF;

runquery($insert_sql);

$finish = TRUE;

?>